const htmlWebpackPlugin = require('html-webpack-plugin');//生成html
const path = require('path');
const webpack = require('webpack')
module.exports = {
    // devtool: 'eval-source-map',//用于调试代码
    // 入口文件配置
    entry: {
        index: './src/js/index.js',
        config: './src/js/config.js'
    },
    // 出口文件配置
    output: {
        path: path.resolve(__dirname, 'dist/js'),
        filename: '[name].js',
    },
    // 模块,解析css图片转换,压缩loader
    module: {
        rules: [
            {
                test: /\.css$/,//用于匹配处理文件的扩展名的表达式，这个选项是必须进行配置的
                use: ["style-loader", 'css-loader']//loader名称，就是你要使用模块的名称，这个选项也必须进行配置，否则报错；
            }, {
                test: /\.(png|jpg|gif)/,
                use: [{
                    loader: 'url-loader',//编译图片
                    options: {
                        limit: 1024,
                        outputPath: '../images/',//图片存放路径
                    }
                }]
            },{//字体图标
                test:/\.(eot|woff|woff2|ttf|svg)$/i,
                // include: path.resolve(__dirname, 'node_modules'),//解析字体图标指定文件
                use: {
                    loader: 'url-loader',
                    options: {
                        limit: 30000,
                        name: '[name].[ext]',//图片名字
                        // outputPath:'../../../public/static/img/'//图片输出位置
                    }
                }
            }, {
                test: /\.(htm|html)$/i,
                use: ['html-withimg-loader'] //解决html中引入的图片
            }, {
                test: /\.js$/,
                use: {
                    loader: 'babel-loader',//用于ES6转换
                    options: {
                        presets: [
                            "es2015"
                        ]
                    }
                },
                exclude: /node_modules/,//出去node_modules目录下面的js文件不编译
            }
        ]
    },
    //插件用于生产模板
    plugins: [
        new htmlWebpackPlugin({
            // title:'首d页',//网页名称
            template: './src/view/index.html',//是要打包的html模版路径和文件名称
            inject:'head',
            // favicon:'http://www.520coc.cn/favicon.ico',
            // minify: {
            //     removeAttrubuteQuotes: true//去掉属性的双引号
            // },
            filename: "../view/index.html",//html文件名称
            hash: true,//避免缓存问题
            chunks:['config','index']
        }),
        new webpack.ProvidePlugin({//全局引入
            $:'jquery',
            'jQuery':'jquery'
        })
    ],
    // 配置webpack开发服务功能
    devServer: {
        //设置基本目录结构
        contentBase: path.resolve(__dirname, 'dist'),
        //服务器的IP地址，可以使用IP也可以使用localhost
        host: 'localhost',
        //服务端压缩是否开启
        compress: true,
        //配置服务端口号
        port: 1717
    },
}